草庐IT

c++ - DrawText VS TextOut Win32

全部标签

windows - 使用自定义笔样式在 win32/GDI 中绘制线条?

我需要使用win32/GDI(native,而非.NET)进行绘图,但我遇到了以下问题:我需要绘制“样式化”的线条。例如,在附图中,标记为“A”的线就我的应用程序数据而言是一条直线,只需要以额外的锯齿形作为样式绘制即可。当然,这很容易以编程方式完成,但是当线可以是任意角度(“B”)甚至是贝塞尔曲线(“C”)时,它会变得更加复杂。现在,我可以通过编程方式完成这一切,煞费苦心地做数学运算,在每条线的可能性周围画一个锯齿形,但这会花费很多时间,更重要的是,很容易出错。是否可以只给windows/GDI一个“样式”来应用到线条上,也许是一个像标记为“D”的位图,并让它用作画线的笔?如果不是,是

c++ - Windows 上有用的开源库/项目

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭8年前。Improvethisquestion您认为C/C++Windows开发人员应该了解哪些开源项目?BoostLibraries:通用库(智能指针、命令行解析、线程、格式化等)Postgresql:全功能SQL数据库。MediaInfo:提供有关音频/视频文件的信息。

windows - perl 的 rmtree() 无法删除 win32 上的目录,第二次尝试成功

在Perl中,我做了一个:rmtree($myfolder);通常这在Windows上会失败。再次运行时,它会成功。似乎以某种方式删除文件夹中的文件需要一段时间,并且它以某种方式尝试在文件消失之前删除文件夹。在Windows上是否有“这个确实有效”的Perl方法来删除目录及其所有内容? 最佳答案 您是否正在运行病毒扫描程序?如果它正在扫描一个文件,它会打开该文件。Windows不允许您删除由另一个进程打开的文件/目录。 关于windows-perl的rmtree()无法删除win32上的

c - 为什么 MapViewOfFile 会为 rapidxml 返回一个不可用的指针?

如建议的那样:我有一个大于2giga的文件。我正在使用以下函数映射到内存:char*ptr=(char*)MapViewOfFile(map_handle,FILE_MAP_WRITE|FILE_MAP_READ,0,0,0);我将ptr解析为接受Ch*的rapidxml。根据rapidxml的文档,ptr应该是可修改的,但由于它被声明为char*类型,因此无法完成。程序编译但在运行时崩溃并出现以下错误:访问冲突。我发现在解析char*时会发生这种情况。请问我该如何解决这个问题? 最佳答案 您正在为MapViewOfFile()的最

c++ - 如何使用 ffmpeg 以便不需要将其 dll 包含在您的应用程序文件夹中?

所以我的观点是为c/C++Windows开发人员找到.lib形式的普通ffmpeg,以便能够在我的应用程序中包含所有需要的功能——也就是说一个exe没有额外的dll。所以我正在透过它的window看/autobuilds/搜索这样的.lib文件数组。至于现在最接近我想要的是带有.lib和.dll.a文件的ffmpeg-swscale-mingw32-shared-dev\lib文件夹。问题是我对C/C++开发还很陌生,所以我想知道这个构建是我需要的还是我需要其他东西?毕竟ffmpegmingw32共享开发版本中的.dll.a文件是什么? 最佳答案

c++ - WaitNamedPipe 只是挂起

我遇到了WaitNamedPipe函数挂起的问题。...这是我的代码中与问题相关的部分。我创建了一个进程,然后是一个管道,函数WaitNamedPipe似乎卡在了FALSE上,因此挂起。函数waitnamedpipe等待CC进程启动。PROCESS_INFORMATIONpo;STARTUPINFOs;GetStartupInfo(&s);if(CreateProcess("c:\\s2.exe",NULL,NULL,NULL,false,0,NULL,NULL,&s,&po)==FALSE){printf("Error%dstartingCC\n",GetLastError());e

c++ - 更改 ListView 控件中的文本颜色 (Win32)

我有一个用Win32C++创建的ListView控件我正在使用ListView_SetItem添加子项这只是文本,ListView处于报告模式。我想更改特定子项的文本颜色。我可以这样做吗?如何谢谢 最佳答案 您需要为此子项使用所有者绘制,以便它使用与ListView的其余部分不同的字体属性。 关于c++-更改ListView控件中的文本颜色(Win32),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

c - 在 Win32 SDK 中使用 PlaySound 时,如何检测声音何时播放完毕?

我正在使用Win32SDK中的PlaySound函数来播放波形文件。目前,我有以下代码行:PlaySound(szFile,NULL,SND_FILENAME);但是现在我想知道,如何检测wave文件播放结束的时间?我想在wave停止播放时更改按钮的文本。 最佳答案 PlaySound的功能非常有限。在我开发的一个产品中,我们在DirectSound之上构建了一个媒体播放库来克服这些限制。在它所做的许多事情中,它涉及编写WAV文件解析器和线程代码以将PCM样本流维护到DirectSound缓冲区中。不适合胆小的人。你可以走这条路,但

c++ - 如何使用显存作为标准内存存储?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。我会使用视频板(256mb)上的视频内存作为存储随机值的标准内存。我对视频图形知之甚少,但我知道一种方法是制作“模型”或其他视频图形对象来存储我的值,因此视频板认为它以这种方式处理视频图像或其他东西。但是还有其他方法吗?好文章是http://en.gentoo-wiki.com/wiki/Using_Graphics_Card_Memory_as_Swaplinux是如何实现它的。看来我需要为图

windows - 64 位系统的整数大小差异(与我的旧 32 位 pc 系统混淆)

几个月前,我给自己买了一台配备CPUinteli7-2630qm和64位Windows的笔记本电脑。在这个系统下练习我的编程技能时,我遇到了一些整数大小方面的差异,这让我认为这可能是由于我的新64位系统。让我们看一段代码。C代码:#includeintmain(void){intnum=20;printf("%d%lld\n",num,num);return0;}问题:1.)我记得在得到这台新笔记本电脑之前,这意味着我仍在使用我的旧32位系统,当我运行这段代码时,程序将打印整数20由于%lld说明符,它旁边有一些随机数。2.)但是当我使用我的新笔记本电脑时,这种现象不再发生,它会正确地